//           import.C
//  Seg fevereiro 07 16:47:27 2011
//  Copyright  2011  Jonison Almeida dos Santos
//  <user@host>


#include <import.h>

/**
 * \param selecionado
 * \param Pai
 * \param conn
 */
IMPORT:: IMPORT(int selecionado,Gtk::Window *Pai, BANCOPG *conn)
	{
	int result;
	
	this->conexao = conn;
	this->selecao = selecionado;
  	Gtk::FileSelection dialog("Selecione um Arquivo a ser importado:");
  	dialog.set_transient_for(*Pai);
  
  	result = dialog.run();

	//Handle the response:
	switch(result)
  		{
  		case(Gtk::RESPONSE_OK):
			{
		  	cout << "OK clicked." <<endl;
		  	this->filename = dialog.get_filename(); //Notice that it is a std::string, not a Glib::ustring.
			cout << "File selected: " <<  this->filename << endl;
			this->carregar_dados();
		  	break;
			}
		case(Gtk::RESPONSE_CANCEL):
			{
		 	break;
			}
		default:
			{
		  	cout << "Unexpected button clicked." <<endl;
		  	break;
	   	 	}
	  	}
	}

/**
 *
 */
IMPORT::~IMPORT()
	{
	}

/**
 *
 */
void IMPORT::carregar_dados()
	{
	int i,j,k,x,ct, cont, contaux, flag=0;			//contadores
	char *sql,*sql2,*aux_convert, aux[512], aux2[256], auxlua[4], auxhora[6],auxhora2;
	const char *aux4;
	string texto, tratado[25], auxlua2[15];
	vector<string> linha;

	sql = new char [256];
	sql2 = new char [256];
	aux_convert= new char [15];
	aux4 = new char [256];
	switch (this->selecao)
		{
		case 1:
			{	
			conf.open(filename.c_str());
			while (conf.good())
				{
				getline(conf,texto);
				if (!texto.empty())
					{
					j=0;
					strcpy(sql, "insert into cadastro.florada (descricao) values('");
					for( i=0; i< texto.length(); i++) 
						{
						if(!((texto[i]==' ' && i==0) || texto[i]=='"') )
							{
							aux[j] = texto[i];
							j++;
							}
						}
					aux[j] = '\0';
					strcat(sql,aux);
					strcat(sql,"')");
					//cout<<sql<<endl;
					this->conexao->executar(sql);
					//cout << this->mensagem << endl;
					}
				}
			if(!conf.good())
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			else
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
					
				}
			conf.close();
			break;
			}
		case 2:
			{
			ct = 0;
			conf.open(filename.c_str()); 
			while (!conf.eof())
				{
				ct++;
				for(i=0;i<4;i++)
					{
					tratado[i].clear();
					}
				getline(conf,texto);
				//cout << texto << endl;
				j=0;
				x=0;
				aux[x] = '\0';
				for(i=0;i<texto.length();i++)
					{
					if(texto[i]!='"')
						{
						aux[x] = texto[i];
						x++;
						}
					if(texto[i]==';')
						{
						aux[x-1] = '\0';
						if (j == 2)
							{
							for (cont=1;cont < strlen(aux); cont++)
								{
							 	if(aux[cont]==' ')
									{
									cont++;
									if(aux[cont]!='d')
										{
										cont++;
										}
									}
								aux[cont] = aux[cont]+32;
								}
							}
						tratado[j] = aux;
						x=0;
						aux[x] = '\0';
						j++;
						}
					}
				aux[x] = '\0';
				tratado[j] = aux;
				for(i=1;i<7;i++)
					{
					if (i == 1)
						{
						strcpy(sql,"insert into cadastro.apiarios (nome,cod_cid,local,id_flor,obs,data) values ('");
						strcat(sql,tratado[i].c_str());
						strcat(sql,"',");
						}
					else
						{
						if (i == 2)
							{
							strcpy(aux2,tratado[i].c_str());
							aux4=this->buscardados(aux2, 0);
							strcat(sql,aux4);
							}
						else
							{
							if(i ==	3)
								{
								strcat(sql, ",'");
								strcat(sql,tratado[i].c_str());
								strcat(sql, "',");
								}
							else				
								{
								if(i==4)
									{
									strcpy(aux2,tratado[i].c_str());
									aux4=this->buscardados(aux2, 1);
									strcat(sql,aux4);
									strcat(sql, ",'");
									}
								else
									{
									if(i==5)
										{
										if(tratado[i].length()==0)
											{
											strcat(sql,"',");
											}
										else
											{
											strcat(sql,tratado[i].c_str());
											strcat(sql, "',");
											}
										}
									else
										{
										if(i==6)
											{
											if(tratado[i].length()==10) //comparação para saber se a data esta preenchida de modo certo e não está vazia
												{
												strcat(sql,"'");
												strcat(sql,tratado[i].c_str());
												strcat(sql,"')");
												}
											else
												{
												strcat(sql,"null");
												strcat(sql,")");
												}
											cout<<sql<<endl;
											//	cout<<Glib::ustring(sql)<<endl; 
											this->conexao->executar(sql);
											//	cout<<this->mensagem<<endl;
											}
										}
									}
								}
							}
						}
					}
				}
			if(!conf.good())
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			else
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			conf.close();
			break;
			}
		case 3:
			{
			ct = 0;
			conf.open(filename.c_str()); 
		
			while (!conf.eof())
				{
				ct++;
				for(i=0;i<4;i++)
					{
					tratado[i].clear();
					}
				getline(conf,texto);
				j=0;
				x=0;
				aux[x] = '\0';
				for(i=0;i<texto.length();i++)
					{
					if(texto[i]!='"')
						{
						aux[x] = texto[i];
						x++;
						}
					if(texto[i]==';')
						{
						aux[x-1] = '\0';
						tratado[j] = aux;
						x=0;
						aux[x] = '\0';
						j++;
						}
					}
				for(i=0;i<4;i++)
					{
					if (i == 0)
						{
					  	strcpy(sql,"insert into cadastro.colmeias (id_col, data_form, tipo, status) values (");
						strcat(sql,tratado[i].c_str());
						strcat(sql,",'");
						}
					else
						{
						if (i == 1)
							{
							strcat(sql,tratado[i].c_str());
							strcat(sql,"',");
							}
						else
							{
							if(i ==	2)
								{
								if(tratado[i].compare("D")==0)
									{
									tratado[i]="0";
									}
								else
									{
									 tratado[i]="1";
									}
								strcat(sql,tratado[i].c_str());
								strcat(sql, ",");
								}
							else				
								{
								if(i==3)
									{
									if(tratado[i].compare("I")==0)
									{
									tratado[i]="0";
									}
								else
									{
									 tratado[i]="1";
									}
									strcat(sql,tratado[i].c_str());
									strcat(sql, ")");
									}
								}
							}
						}
					}
				//cout<<Glib::ustring(sql)<<endl; 
				this->conexao->executar(sql);
				//cout<<this->mensagem<<endl;
				}
			if(!conf.good())
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			else
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			conf.close();
			break;
			}
		case 4:
			{
			ct = 0;
			conf.open(filename.c_str()); 
			int testador =0;
			while (!conf.eof())
				{
				ct++;
				for(i=0;i<8;i++)
					{
					tratado[i].clear();
					}
				getline(conf,texto);
				//	cout << texto << endl;
				j=0;
				x=0;
				aux[x] = '\0';
				for(i=0;i<texto.length();i++)
					{
					if(texto[i]!='"')
						{
						aux[x] = texto[i];
						x++;
						}
					if(texto[i]==';')
						{
						aux[x-1] = '\0';
						if (j == 4)//Tratamento para quando as luas não estiverem em minuscula.
							{
							for(k=0;k<strlen(aux);k++)
								{
								aux[k]=tolower(aux[k]);
								/*	if(aux[k]=='.' || aux[k]==',')
									{
											aux[k]='\0';
										}*/
								}
							}
						tratado[j] = aux;
						x=0;
						aux[x] = '\0';
						j++;
						}
					}
				aux[x] = '\0';
				tratado[j] = aux;
				for(i=0;i<8;i++)
					{
					if (i == 0)
						{
						strcpy(sql,"insert into cadastro.planilhas (nump,data,horai,horaf,lua,apiario,obs) values (");
						strcat(sql,tratado[i].c_str());
						strcat(sql,",'");
						}
					else
						{
						if (i == 1)
							{
							if(tratado[i].length()!=10)
								{
								tratado[i]= hoje();
								strcat(sql,tratado[i].c_str());
								strcat(sql,"',");
								}
							else
								{
								strcat(sql,tratado[i].c_str());
								strcat(sql,"',");
								}
							}
						else
							{
							if(i ==	2)
								{
								if(tratado[i].length()<4)
									{
									strcat(sql,"null,");
									}
								else
									{
									for(k=1;k<3;k++)
										{
										if(tratado[i][k]==' ')
											{
											tratado[i][k]=tratado[i][k-1];
											tratado[i][k-1]='0';
											}
										}
									for(k=3;k<5;k++)
										{
										if(tratado[i][k]==' ')
											{
											tratado[i][k]='0';	
											}
										}
									if((atoi(tratado[i].substr(0,2).c_str()) >24) || (atoi(tratado[i].substr(4,2).c_str()) >59) || (atoi(tratado[i].substr(0,3).c_str()) >24) || (atoi(tratado[i].substr(3,3).c_str()) >59))	
										{
										strcat(sql,"null,");
										}
									else
										{
										strcat(sql, "'");
										strcat(sql,tratado[i].c_str());
										strcat(sql, "',");
										}
									}
								}
							else				
								{
								if(i==3)
									{
									if(tratado[i].length()<4)
										{
										strcat(sql,"null,");
										}
									else
										{
										for(k=1;k<3;k++)
											{
											if(tratado[i][k]==' ')
												{	
												tratado[i][k]=tratado[i][k-1];
												tratado[i][k-1]='0';
												}
											}
										for(k=3;k<5;k++)
											{
											if(tratado[i][k]==' ')
												{
												tratado[i][k]='0';	
												}
											}
										if((atoi(tratado[i].substr(0,2).c_str()) >24) || (atoi(tratado[i].substr(4,2).c_str()) >59) || (atoi(tratado[i].substr(0,3).c_str()) >24) || (atoi(tratado[i].substr(3,3).c_str()) >59))
											{
											strcat(sql,"null,");
											}
										else
											{
											strcat(sql, "'");
											strcat(sql,tratado[i].c_str());
											strcat(sql, "',");
											}
										}
									}
								else
									{
									if(i==4)
										{
										if(tratado[i].length()<2)
											{
											strcat(sql,"0");
											strcat(sql, ",");
											}
										else
											{
											for(k=0;k<3;k++)
												{
												auxlua[k]=tratado[i][k];
												}
											auxlua[k]='\0';
											if((strcmp(auxlua,"che"))==0)
												{
												strcat(sql,"0");
												strcat(sql, ",");
												//sleep(3);
												}
											else
												{
												if((strcmp(auxlua,"nov"))==0)
													{
													strcat(sql,"1");
													strcat(sql, ",");
													}
												else
													{
													if((strcmp(auxlua,"min"))==0)
														{
														strcat(sql,"2");
														strcat(sql, ",");
														}
													else
														{
														if((strcmp(auxlua,"cre"))==0)
															{
															strcat(sql,"3");
															strcat(sql, ",");
															}
														}
													}
												}
											}
										}
									else
										{
										if(i==5)
											{
											strcat(sql,tratado[i].c_str());
											strcat(sql,",'");
											}
										else
											{
											if(i==6)
												{
												if(tratado[i].length()==0)
													{
													strcat(sql,"')");
													}
												else
													{
													strcat(sql,tratado[i].c_str());
													strcat(sql,"')");
													}
												}
											}
										}
									}
								}
							}
						}
					}
				//cout<<Glib::ustring(sql)<<endl; 
				this->conexao->executar(sql);
				//cout<<this->mensagem<<endl;
				testador++;
				}
			if(!conf.good())
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			else
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			conf.close();
			break;
			}
		case 6:
			{
			ct = 0;
			conf.open(filename.c_str()); 
			int testador =0;
			while (!conf.eof())
				{
				ct++;
				for(i=0;i<4;i++)
					{
					tratado[i].clear();
					}
				getline(conf,texto);
				//	cout << texto << endl;
				j=0;
				x=0;
				aux[x] = '\0';
				for(i=0;i<texto.length();i++)
					{
					if(texto[i]!='"')
						{
						aux[x] = texto[i];
						x++;
						}
					if(texto[i]==';')
						{
						aux[x-1] = '\0';
						tratado[j] = aux;
						x=0;
						aux[x] = '\0';
						j++;
						}
					}
				aux[x] = '\0';
				tratado[j] = aux;	
				string id_colmeia;
				for(i=0;i<4;i++)
					{
					if (i == 0)
						{
						strcpy(sql,"insert into cadastro.api_col (id_api,id_col,data_intr,data_form) values (");
						strcat(sql,tratado[i].c_str());
						strcat(sql,",");
						}
					else
						{
						if (i == 1)
							{
							id_colmeia=tratado[i];
							strcat(sql,tratado[i].c_str());
							strcat(sql,",'");
							}
						else
							{
							if(i == 2)
								{
								strcat(sql, tratado[i].c_str());
								strcat(sql, "','");
								}
							else
								{
								if(i==3)
									{
									strcpy(sql2,"select data_form from cadastro.colmeias where id_col=");
									strcat(sql2,id_colmeia.c_str());
									//cout<<sql2<<endl;
									this->conexao->executar(sql2);
									this->conexao->resultado();
									linha = this->conexao->resultados.at(0);
									strcat(sql, linha.at(0).c_str());
									strcat(sql,"')");
									cout<<sql<<endl;
									this->conexao->executar(sql);
									cout<<this->conexao->mensagem<<endl;
										
									}
								}
							}
						}
					}
				}
			if(!conf.good())
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			else
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			conf.close();
	
			break;
			}
		case 7:
			{
			ct = 0;
			char *auxhistorico, *Data_formatada, *sqlhistorico;
			conf.open(filename.c_str()); 
			int testador=0, it=0;
			auxhistorico = new char [10];
			while (!conf.eof())
				{
				ct++;
				for(i=0;i<21;i++)
					{
					tratado[i].clear();
					}
				getline(conf,texto);
				j=0;
				x=0;
				aux[x] = '\0';
				for(i=0;i<texto.length();i++)
					{
					if(texto[i]==';' )
						{
						aux[x] = '\0';
						tratado[j] = aux;
						x=0;
						aux[x] = '\0';
						j++;
						}
					else
						{
						aux[x] = texto[i];
						x++;
						}
					}	
				//aux[x] = '\0';
				//cout <<aux << endl;
				//tratado[j] = aux;
				//cout<<"teste  = Tratado   "<<tratado<<endl;
				string dados_historico;
				dados_historico.clear();
				for(i=0;i<21;i++)
					{
					switch (i)
						{
						case 0:
							{
							//cout<<"Id_planilha"<<endl;
							dados_historico ="insert into producao.historico (id_planilha, id_apiario, data_formacao, data_rev, num_melg, num_quad,";
							dados_historico +="med_kg_quadros, med_kg_colhida, med_kg_remanescente, cria_aberta, cria_fechada, alimento, el, lamina, total,";
							dados_historico +="qtd_fecund, sit_rainha, nota, obs, id_colmeia )values (";
							dados_historico += tratado[i];
							dados_historico +=",";
							break;
							}
						case 1:
							{
							//cout<<"Id_apiario"<<endl;
							dados_historico += tratado[i];
							dados_historico +=",";
							break;
							}
						case 2:
							{
							//cout<<"Data_form"<<endl;
							if(tratado[i].length()==10)
								{
								dados_historico +="'";
								Data_formatada = new char[tratado[i].length()+1];	
								strcpy(Data_formatada,tratado[i].c_str());
								dados_historico += data_formatada(Data_formatada, 1);
								dados_historico +="',";
								delete Data_formatada;
								}
							else
								{
								dados_historico += "null";
								dados_historico +=",";
								}
							break;
							}
						case 3:
							{
							 //cout<<"data_rev"<<endl; 
							if(tratado[i].length()==10)
								{
								dados_historico +="'";
								Data_formatada = new char[tratado[i].length()+1];	
								strcpy(Data_formatada,tratado[i].c_str());
								dados_historico += data_formatada(Data_formatada, 1);
								dados_historico +="',";
								delete Data_formatada;
								}
							else
								{
								dados_historico += "null";
								dados_historico +=",";
								}
							break;
							}
						case 4:
							{
							//cout<<"nummelg"<<endl;
							dados_historico += tratado[i];
							dados_historico +=",";
							break;
							}
						case 5:
							{
							//cout<<"nquadro"<<endl;
							it =tratado[i].find(",");
							if (it!=string::npos)
								{
								tratado[i].replace(it,1,".");
								}
							dados_historico += tratado[i];
							dados_historico +=",";
							break;
							}
						case 6:
							{
							if(tratado[i].length()>0)
								{
								it =tratado[i].find(",");
								if (it!=string::npos)
									{
									tratado[i].replace(it,1,".");
									}
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico += "0.0";
								dados_historico +=",";
								}
							break;
							}
						case 7:
							{
							//cout<<"medkgcol"<<endl;
							if(tratado[i].length()>0)
								{
								it =tratado[i].find(",");
								if (it!=string::npos)
									{
									tratado[i].replace(it,1,".");
									}
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico += "0.0";
								dados_historico +=",";
								}
							break;
							}
						case 8:
							{
							//cout<<"medtotkgrem"<<endl;
							if(tratado[i].length()>0)
								{
								it =tratado[i].find(",");
								if (it!=string::npos)
									{
									tratado[i].replace(it,1,".");
									}
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico += "0.0";
								dados_historico +=",";
								}
							break;
							}
						case 9:
							{
							//cout<<"ca"<<endl;
							if(tratado[i].length()>0)
								{
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico +='0';
								dados_historico +=",";
								}
							break;
							}
						case 10:
							{
							//cout<<"cf"<<endl;
							if(tratado[i].length()>0)
								{
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico +='0';
								dados_historico +=",";
								}
							break;
							}
						case 11:
							{
							//cout<<"al"<<endl;
							if(tratado[i].length()>0)
								{
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico +='0';
								dados_historico +=",";
								}
							break;
							}
						case 12:
							{
							//cout<<"el"<<endl;
							if(tratado[i].length()>0)
								{
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico +='0';
								dados_historico +=",";
								}
							break;
							}
						case 13:
							{
							//cout<<"LA"<<endl;
							if(tratado[i].length()>0)
								{
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico +='0';
								dados_historico +=",";
								}
							break;
							}
						case 14:
							{
							//cout<<"total"<<endl;
							if(tratado[i].length()>0)
								{
								dados_historico += tratado[i];
								dados_historico +=",";
								}
							else
								{
								dados_historico +='0';
								dados_historico +=",";
								}
							break;
							}
						case 15:
							{
							//cout<<"numfec"<<endl;
							dados_historico += tratado[i];
							dados_historico +=",";
							break;
							}
						case 16:
							{
						//	cout<<"sitrainha"<<endl;
							if(tratado[i].length()==0)
								{
								dados_historico += "6";
								}
							else
								{
								if(tratado[i].compare("RV")==0)
									{
									dados_historico +="1";    cout<<dados_historico<<endl;
									}
								else
									{
									if(tratado[i].compare("RF")==0)
										{
										dados_historico +="2";
										}
									else
										{
										if(tratado[i].compare("RN")==0)
											{
											dados_historico +="3";
											}
										else
											{
											if(tratado[i].compare("PN")==0)
												{
												dados_historico +="4";
												}
											else
												{
												if(tratado[i].compare("RE")==0)
													{
													dados_historico +="5";
													}
												else
													{
													dados_historico +="6"; //Verificar depois, pois aqui ele assume que todos que estão sem valores como 6 - Trocar Rainha
													}
												}
											}
										}
									}
								}
							dados_historico +=",";
							break;
							}
						case 17:
							{
							//cout<<"nota"<<endl;
							if(tratado[i].length()>0)
								{
								dados_historico +="'";
								dados_historico += tratado[i];
								dados_historico +="'";
								}
							else
								{
								dados_historico +="''";
								}
							dados_historico +=",";
							break;
							}
						case 18:
							{
							//cout<<"Obs"<<endl;
							if(tratado[i].length()>0)
								{
								dados_historico +="'";
								dados_historico += tratado[i];
								dados_historico +="'";
								}
							else
								{
								dados_historico +="''";
								}
							break;
							}
						case 19:
							{
							//cout<<"id_col"<<endl;
							dados_historico +=",";
							dados_historico += tratado[i];
							dados_historico +=")";
							break;
							}
						}
					}
			
				//cout<<dados_historico<<endl;
				sqlhistorico = new char[dados_historico.length()+1];
				strcpy(sqlhistorico,dados_historico.c_str());
				this->conexao->executar(sqlhistorico);
				//cout<<this->mensagem<<endl;
				delete sqlhistorico, auxhistorico;
			
				}
			if(!conf.good())
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
				}
			else
				{
				Gtk::MessageDialog Aviso(Glib::ustring("Importação"));
				Aviso.set_secondary_text(Glib::ustring("Importação Concluida!"));
				Aviso.set_position(Gtk::WIN_POS_CENTER);
				Aviso.run();
					
				}
			conf.close();
			break;
			}
		
		default:
			{
			cout<<"Teste para default"<<endl;
			break;
			}
		}
		//delete sql;
		//delete aux4;
	}

/**
 * \param valor
 * \param codigoconsulta é o tipo
 */
const char * IMPORT ::buscardados(char *valor, int codigoconsulta)  
	{
	char *sql;
	string retorno;
	vector<string> linha;
		
	retorno.clear();
	sql = new char[256];
	switch (codigoconsulta)
		{
		case 0:
			{
			strcpy(sql,"select cod_cid from cadastro.municipio where estado='MS' and nome like '");
			strcat(sql,valor);
		  	strcat(sql,"%'");
			this->conexao->executar(sql);
			if(this->conexao->registros == 0)
				{
				retorno.append("5003702");
				}
			else
				{
				this->conexao->resultado();
				linha = this->conexao->resultados.at(0);
				retorno=linha.at(0);
				}
			break;
			}
		case 1:
			{
			strcpy(sql,"select id_flor from cadastro.florada where descricao='");
			strcat(sql,valor);
			strcat(sql,"'");
			this->conexao->executar(sql);
			if(this->conexao->registros == 0)
				{
				retorno.append("1");
				}
			else
				{
				this->conexao->resultado();
				linha = this->conexao->resultados.at(0);
				retorno=linha.at(0);
				}
			break;
			}
		}
	delete sql;
	return (retorno.c_str());
	}
